Nevron Open Vision Documentation
Nevron.Nov.DataStructures Namespace / NBlocksRing<T> Class
Members


In This Topic
    NBlocksRing<T> Class
    In This Topic
    Serves as base class for blocks ring based implementations of INDeque and INQueue.
    Object Model
    NBlocksRing<T> Class
    Syntax
    'Declaration
     
    
    <System.Reflection.DefaultMemberAttribute("Item")>
    Public MustInherit Class NBlocksRing(Of T) 
       Implements INArray(Of T), INClearable, INContains(Of T), INCountable(Of T), INIndexedMultiSet(Of T), INIndexedSet(Of T), INIterable(Of T), INReverseIterable(Of T), INSet(Of T), INWritableIndexedSet(Of T) 
    'Usage
     
    
    Dim instance As NBlocksRing(Of T)
    [System.Reflection.DefaultMember("Item")]
    public abstract class NBlocksRing<T> : INArray<T>, INClearable, INContains<T>, INCountable<T>, INIndexedMultiSet<T>, INIndexedSet<T>, INIterable<T>, INReverseIterable<T>, INSet<T>, INWritableIndexedSet<T>  
    Type Parameters
    T
    Remarks
    The blocks ring is a circular chain of generic type array blocks of fixed size. The size of the blocks is specified at creation time and cannot be changed.

    The advantage of the blocks ring is that the addition and removal of items at the head and the tail of the blocks ring is always performed in constant time. This makes this implementation suitable for decks and queues.

    The disadvantage the blocks ring is that items in the middle are accessed at O(n) time, which is a common disadvantage of all chain based implementations.

    The blocks ring is ever growing with a constant step that is equal to the block size with which it is initalized.

    Inheritance Hierarchy

    System.Object
       Nevron.Nov.DataStructures.NBlocksRing<T>
          Nevron.Nov.DataStructures.NBlocksDeque<T>
          Nevron.Nov.DataStructures.NBlocksQueue<T>
          Nevron.Nov.DataStructures.NBlocksStack<T>

    Requirements

    Target Platforms: Windows 11, Windows 10, Windows 7, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later)

    See Also